<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>demo</title>
  <script type="text/javascript" src="../vue.js"></script>
</head>

<body>
  <div id="app">
    <!-- new构造函数调用 是一个实例化对象 -->
    <Zero></Zero>
  </div>
</body>
<script type="text/javascript">
  // 这个本质是一个构造函数 Vue.extend函数调用返回了一个VueComponent构造函数 每一个VueComponent的构造函数都是独立的

  const Count = Vue.extend({
    // 没有el
    name: 'Count',
    template: `<div><p>hello 组件</p></div>`
  })

  const Zero = Vue.extend({
    template: `<div>
      <h2>{{cmm}}</h2>
      <Count/>
      </div>`,
    data() {
      return {
        cmm: 'hi 组件'
      }
    },
    components: {
      Count
    }
  })

  Vue.config.productionTip = false

  const vm = new Vue({
    el: "#app",
    // 注册组件
    components: { Zero },
  })
  console.log(vm);
</script>

</html>